package cn.wolfcode.service;

import cn.wolfcode.domain.SeckillProductVo;

import java.util.List;


public interface ISeckillProductService {

    /**
     * 从数据库中的查询指定场次的秒杀商品
     * @param time
     * @return
     */
    List<SeckillProductVo> queryCurrentListByTime(Integer time);

    /**
     * 上redis当中查询秒杀商品
     * @param time 场次
     * @return
     */
    List<SeckillProductVo> queryByTime(String time);

    /**
     * 商品详情操作
     * 上redis中查询数据
     * @param time 场次
     * @param seckillId 秒杀商品id
     * @return
     */
    SeckillProductVo find(int time, Long seckillId);

    /**
     * 对真实库存扣减操作
     * @param seckillId
     * @return
     */
    int decrStock(Long seckillId);

    /**
     * 回补预库存
     * @param seckillId
     * @param time
     */
    void syncRedisStockCount(Long seckillId, Integer time);
}
